在ubuntu上安装golang以及环境配置 | 您所在的位置:网站首页 › ubuntu 2004 安装golang › 在ubuntu上安装golang以及环境配置 |
Homework1
目录: 安装golang设置环境变量创建Helloworld创建第一个库第一个测试安装与运行go tour 安装golangubuntu直接使用apt-get来下载,执行以下命令: sudo apt-get install golang但是这样子下载得到的版本并不是最新的,建议直接到官网下载 然后进入安装包的目录下,执行: tar -xzf go1.15.2.linux-amd64.tar.gz然后将其复制到/usr/local下: sudo cp -rf go /usr/local然后进入/usr/local/go文件夹,给予其0777权限: cd /usr/local/ sudo chmod -R 0777 go接下来是修改~/.bashrc文件,在后面加上以下几行 : export PATH=$PATH:/usr/local/go/bin然后执行go version,看到以下结论,则说明安装成功: 设置环境变量首先创建工作空间目录: mkdir $HOME/gowork设置该路径为GOPATH,在~/.bashrc中添加以下代码: export GOPATH=$HOME/gowork并将此工作空间的bin子目录添加到PATH中: export PATH=$PATH:$GOPATH/bin然后执行go env来检查相关配置: 创建Helloworld首先创建包路径: mkdir -p $GOPATH/src/github.com/Hide-on-bush2创建第一个程序的目录: mkdir $GOPATH/src/github.com/Hide-on-bush2/hello然后进入相应的目录下,创建一个hello.go文件,并编辑该文件如下: package main import "fmt" func main() { fmt.Printf("Hello, world.\n") }然后可以用go工具来构建并安装此程序了: go install github.com/Hide-on-bush2/hello然后便可以输入$GOPATH/bin/hello来执行: 创建第一个库创建包目录: mkdir $GOPATH/src/github.com/Hide-on-bush2/stringutil然后在该目录中创建文件reverse.go,并编辑文件内容如下: // stringutil 包含有用于处理字符串的工具函数。 package stringutil // Reverse 将其实参字符串以符文为单位左右反转。 func Reverse(s string) string { r := []rune(s) for i, j := 0, len(r)-1; i < len(r)/2; i, j = i+1, j-1 { r[i], r[j] = r[j], r[i] } return string(r) }然后可以用go build命令来测试编译: go build github.com/Hide-on-bush2/stringutil然后执行go install命令,将包的对象放到工作空间的pkg目录中: go install github.com/Hide-on-bush2/stringutil然后修改hello.go文件来使用stringutil包: package main import ( "fmt" "github.com/Hide-on-bush2/stringutil" ) func main() { fmt.Printf(stringutil.Reverse("!oG ,olleH")) }然后执行安装: go install github.com/Hide-on-bush2/hello然后执行$GOPATH/bin/hello来运行新的hello程序: 第一个测试创建测试文件: touch $GOPATH/src/github.com/Hide-on-bush2/stringutil/reverse_test.go编辑reverse_test.go文件如下: package stringutil import "testing" func TestReverse(t *testing.T) { cases := []struct { in, want string }{ {"Hello, world", "dlrow ,olleH"}, {"Hello, 世界", "界世 ,olleH"}, {"", ""}, } for _, c := range cases { got := Reverse(c.in) if got != c.want { t.Errorf("Reverse(%q) == %q, want %q", c.in, got, c.want) } } }然后执行go test github.com/Hide-on-bush2/stringutil来运行该测试: 安装必要的工具和插件在vscode创建一个test.go文件,会提示你安装一些插件,点击install All会发生错误 : 只能手动clone: 然后执行以下命令手动安装: go install golang.org/x/tools/go/buildutil设置代理,使用国内镜像加速: # 启用 Go Modules 功能 go env -w GO111MODULE=on # 1. 七牛 CDN go env -w GOPROXY=https://goproxy.cn # 2. 阿里云 go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/ # 3. 官方 go env -w GOPROXY=https://goproxy.io之后写个脚本install.sh来手动安装插件(需要挂VPN): go get -v github.com/mdempsky/gocode go get -v github.com/uudashr/gopkgs/v2/cmd/gopkgs go get -v github.com/ramya-rao-a/go-outline go get -v github.com/acroca/go-symbols go get -v golang.org/x/tools/cmd/guru go get -v golang.org/x/tools/cmd/gorename go get -v github.com/cweill/gotests/... go get -v github.com/fatih/gomodifytags go get -v github.com/josharian/impl go get -v github.com/davidrjenni/reftools/cmd/fillstruct go get -v github.com/haya14busa/goplay/cmd/goplay go get -v github.com/godoctor/godoctor go get -v github.com/go-delve/delve/cmd/dlv go get -v github.com/stamblerre/gocode go get -v github.com/rogpeppe/godef go get -v github.com/sqs/goreturns go get -v golang.org/x/lint/golint记得给予它执行权限 : sudo chmod +x install.sh就可以通过执行./install.sh来正常下载了 安装与运行gotour如果是按照以下比较旧的版本来安装: $ go get github.com/Go-zh/tour/gotour $ gotour会得到以下结果: 说明这个是已经过期了的,应该按照官网来进行下载 下载安装包: go get golang.org/x/tour这时候我们下载得到的安装包放在$GOPATH/pkg文件夹下,我们要把它copy到$GOPATH/src/golang.org/x/tour,这是因为程序会去读取$GOPATH/src/golang.org/x/tour的内容进行渲染: cp -rf $GOPATH/pkg/mod/golang.org/x/[email protected] $GOPATH/src/golang.org/x/tour |
CopyRight 2018-2019 实验室设备网 版权所有 |